blob: 0c01286f1b3d9ff3922eba79b1272b0ecfde6807 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
<script>
import { goto } from '$app/navigation';
import { acceptInvite } from '$lib/apiServer';
import LogIn from '$lib/components/LogIn.svelte';
let { data } = $props();
let username = $state(''),
password = $state('');
let pending = false;
let disabled = $derived(pending);
async function onSubmit(event, inviteId) {
event.preventDefault();
pending = true;
const response = await acceptInvite(inviteId, username, password);
if (200 <= response.status && response.status < 300) {
username = '';
password = '';
await goto('/');
}
pending = false;
}
</script>
{#await data.invite}
<div class="invite-text">
<p>Loading invitation…</p>
</div>
{:then invite}
<div class="invite-text">
<p>Hi there! {invite.issuer} invites you to the conversation.</p>
</div>
<LogIn {disabled} bind:username bind:password onsubmit={(event) => onSubmit(event, invite.id)} />
{/await}
|